package com.ruoyi.cbs.project.domain;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 项目开工材料对象 cbs_project_start_materials
 * 
 * @author ruoyi
 * @date 2025-11-12
 */
public class ProjectMaterials extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 开工资料主键 */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 项目id */
    @Excel(name = "项目id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long projectId;

    /** 资料类型 */
    @Excel(name = "资料类型")
    private String materialType;

    /** 资料文件ID */
    @Excel(name = "资料文件ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long fileId;

    /** 资料文件名 */
    @Excel(name = "资料文件名")
    private String fileName;

    /** 资料url */
    @Excel(name = "资料url")
    private String fileUrl;

    /** 状态: 0过期作废 1有效 */
    @Excel(name = "状态: 0过期作废 1有效")
    private String status;

    /** 删除标志（1代表存在 0代表删除） */
    private String delFlag;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setProjectId(Long projectId) 
    {
        this.projectId = projectId;
    }

    public Long getProjectId() 
    {
        return projectId;
    }

    public void setMaterialType(String materialType) 
    {
        this.materialType = materialType;
    }

    public String getMaterialType() 
    {
        return materialType;
    }

    public Long getFileId() {
        return fileId;
    }

    public void setFileId(Long fileId) {
        this.fileId = fileId;
    }

    public void setFileName(String fileName)
    {
        this.fileName = fileName;
    }

    public String getFileName() 
    {
        return fileName;
    }

    public void setFileUrl(String fileUrl) 
    {
        this.fileUrl = fileUrl;
    }

    public String getFileUrl() 
    {
        return fileUrl;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectId", getProjectId())
            .append("materialType", getMaterialType())
            .append("fileName", getFileName())
            .append("fileUrl", getFileUrl())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
